home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
- * ------------------------------------------------------------------------- *
- *****************************************************************************
-
- TRASH'M-One V2.0 Update of ORGINAL ASM-ONE V1.02
-
- Totally ReWritten Code..
-
- Original Source Code supplied by Rune Gram Madsen.
-
- Read This Doc to learn all new functions & modifications to older.
- But the way Functions which have a ---- before their description
- is commands which is not implemented Yet.
- NOTE: Somethings have change since the previous versions
- READ THIS DOC CAREFULLY!!
-
-
- *****************************************************************************
- * ----- More To Come ------------------------------------------------------ *
- *****************************************************************************
-
- "Adresss Label Finder" just like "offset label finder" but you don't have to
- define section.
-
- *****************************************************************************
- * ----- TRASH'M-One uses these libs/files --------------------------------- *
- *****************************************************************************
-
- LIBS:mathtrans.library
- LIBS:reqtools.library
- ENVARC:TRASH'M-One.Prefs
- ENVARC:TRASH'M-ONE.Transfers
-
- *****************************************************************************
- * ----- Preferences ------------------------------------------------------- *
- *****************************************************************************
-
- V2.0 GET hold of preferences but Pressing (AMIGA or CTRL)+SHIFT+P ANYWHERE!!
- V2.0 Hold Cursor X (Try It, move the cursor around, makes the cursor jump
- back (when moving up or down) to same xpos when ever possible.
- V2.0 Save Marks (Save Your 9 Marks In Source File.)
- Note: Your File Will Get 85 Bytes longer.. Now Written in ASCII, so
- it can be read from all editors.
- V2.0 DS Clear (if it's off it will not clear the area,Try to make a "extern"
- which load data into a 'ds' then assemble,extern,assemble and look in
- the 'ds' with the monitor..)
- V2.0 Assemble %
- V2.0 Auto Backup (Every Time You Write Your source, The File on disk with
- the same name Will be renamed to *.Backup )
-
- *****************************************************************************
- * ----- Modifycations to old Assembler Instructions ----------------------- *
- *****************************************************************************
-
- V2.0 INCBIN [NAME[,LENGTH[,SKIP]]] Include binary file with a length
- of x and skip the first x's bytes
-
- V2.0 IFC,IFNC New Wildcard example: IFC "\1","Only*"
- when "*" is met the rest of "\1" is
- skipped.
-
- *****************************************************************************
- * ----- New Assembler instructions ---------------------------------------- *
- *****************************************************************************
-
- Use of LocalLabels in global area. Example:
-
- V2.0 Macro Size Operator \0 Added and now 19 macro input (\1-\19)
- Example:
-
- Addm macro
- add.\0 \1, \2
- if narg<=3
- add.\0 \1, \3
- endif
- endm
- addm.b d0, d1,d2
- addm.w d0, d1,d2
- addm.l d0, d1,d2
-
- V2.0 \. Get Local Label From Other Global Label Area
- Example: j move.l #q\.loop,d0
- move.w #10-1,d7
- .loop addq.w #1,d0
- dbf d7,.loop
- bra.s q\.Exit
- q dc.w 0,0,0,0,0
- .Exit move.l #j\.loop,d0
- rts
- .loop dc.w 0,1,2,3
-
- V2.0 | Is Now the same as ! (OR) compatiblety for commodore
- include files.. to correct old sources search for "|."
- and replace with "\.".
-
- V2.0 IncLink Reads Linker file, Reloc it & Get Symbols.
- Can only handle 1 section pr. file & it's put in
- current section.
- These Commands Can be used to make definitions
- xref (external reference) a label you want from
- the main file
- xdef
- globl
- global
- extern (external definition) a label you will send
- to main file
- Use the command write-link to save a linkfile..
- this feature saves a lot of assemble time, because
- when the code is assembled and written, and you
- inclink, the assembler just relocs it & fetches
- the labels! if an error occured in this function
- use "Why" to get undefined label!
-
- V2.0 GETR [REGS] Get A Register not represented in operand
- and put it in Userdefined Label. the
-
- Example:X0 GetR d0-d1/a0-a7 ;X0=d2
- X1 GetR d1/a0-a7/X0 ;X1=d0
-
- Useful in macros to get some registers
- Example:
- CULT macro
- .D0\@ GetR \1/\2/\3/\4
- .D1\@ GetR \1/\2/\3/\4/.D0\@
- sub.l \1, .d0\@
- add.l \2, .d0\@
- sub.l \3, .d1\@
- add.l \4, .d1\@
- endm
-
- V2.0 QREPT [Nr Times] Just Like Rept, But it just copies memory.
- a lot faster! Code Will Only Work with Bcc
- in QRept Area, jmp's & jsr's will not be
- reloc32. if 0 times is chosen, then it will
- be repeated 1 time
-
- V2.0 ENDQR End of QRept Area
-
- V2.0 REM Skip source text until "ENDREM"
- V2.0 ENDREM Stops "REM" command, ofcourse "ENDR" still
- is used for end repeat
- V2.0 EREM Same as "ENDREM"
- V2.0 TEXT [Return Char] copy source text to code until "ENDT"
- and puts [Return Char] in end of line, if
- no [Return Char] is defined it will be 0
- V2.0 ENDT stops "TEXT" command
- V2.0 ETEXT same as "ENDT"
-
- V2.0 JUMPERROR [LABEL] Jumps to user routine when error occures!!
- if user routine is ended with an illegal,
- registers is taken from user routine else
- it is taken from the place where the error
- occured in the first place!
- V2.0 RESCPTR [LABEL] Same as JUMPERROR
-
- V2.0 IncIFF Name,[Length] Reads iff file and convert it to binary
- data. Bitplanes lie horizontal. (Interleaved)
-
- V2.0 INCIFFP Name,[ColStart] Reads iff file and grabs the PaletteConvert
- if [ColStart] isn't set it will dump the
- palette raw, but if ColStart is set the
- palette will be useable for copper.
- ColStart UnSet Format: dc.w Col1,Col2,Col3,Col4....
- ColStart Set Format: dc.w ColStart,Col1,ColStart+2,Col2....
-
- V2.0 AddWatch [Label],[A/S/H/D/B] ASCII,STRING,HEX,DEC,BINARY
- AddWatch [Label],[P],[Type],[A/S/H/D/B] POINTER
- AddWatch [Label],[M],[Width] BITMAP With witdh
- [Type] =[DC.L,DC.W,DR.L,DR.W]
- [WIDTH] =BITMAP WIDTH
-
- V2.0 MEXITC [nrofENDC] like "MEXIT" but can end a
- x number of if's...
-
- V2.0 CMEXITC [nrmacrosback],[nrofENDC] like "CMEXIT" but can end a
- x number of if's...
-
- V2.0 ENDB [Ax] END Basereg
-
- -------------------------------------------------------------------------------
- - EXTERN ASSEMBLERS -
- -------------------------------------------------------------------------------
- - NOW IT IS POSSIBLE TO CREATE YOUR OWN ASSEMBLER, SO IF YOU ARE CODING -
- - A CONSOLE THAT DON'T USES 68000 IT IS POSSIBLE TO WRITE YOUR OWN -
- - OR IF YOU LIKE TO USE 68040 CODE AND SO ON.. -
- -------------------------------------------------------------------------------
-
- V2.0 ASSEMBLER [ASMLIB] Load extern assembler and
- V2.0 ASM [ASMLIB] use it. Example:
- asm z80
- q offset $0
- j ld a, a
- ret
- endoff
- defasm
- All assembler files is placed
- in the directory
- "libs:trash'm-one/" and
- their suffix is ".assembler".
- By the way source examples,
- docs & includefiles is
- available in the directory
- ":ExternAsm/"
- NOTE : ALL EXTERN ASSEMBLERS
- HAS ONLY PRIORITY OVER THE
- INTERNAL 68000, SO IT IS
- POSSIBLE TO MAKE A 680X0 ASM.
- v2.0 DEFASM Return to Default assembler
- mode. the assembler set in
- prefs.
-
- *****************************************************************************
- * ----- New Functions in Command Mode ------------------------------------- *
- *****************************************************************************
-
- V2.0 =S[Start Char] SymbolTable Nothing New, But you can place
- a start char and it will start
- displaying it from where you
- choose. Example: =sh
-
- V2.0 WHY Get Error Info Writes Your Own Error Text
- out in Trash'm-one example:
- j move.l #.ErrorText,WhyPTR
- rts
- .ErrorText dc.b 'failed!',0
-
- : Assemble,start & type WHY
- and your error text is there!
- it may only be used for
- debugging
-
- IMPORTANT: NEVER LEAVE "WHYPTR"
- IN THE SOURCE IF IT'S TO BE
- WRITTEN AS OBJECT..
- V2.0 IB Insert Binary
- V2.0 @B Display Binary
- V2.0 BM Binary Monitor Like Hexdump,Ascii,DisAsm
- V2.0 IS Insert Sinus
- V2.0 CS Create Sinus Same As Insert Sinus, but is
- dumped directly to memory..
- V2.0 EL Extend Labels Makes Userdefined Extentions
- on all labels, Useful for
- demo's with more than one
- part!!
- V2.0 CL Count Unused Labels Count the number of unused
- labels and displays on screen
- one at the time..
- you can store them by
- redirecting them to a file or
- printer (command ">").
- V2.0 =l Offset Label Finder This Command makes it possible
- to find labels with an offset
- Trash'm-One will ask you for
- an Offset & a section.
- if no section has been made
- it's 1, if you want to find
- a definition then use 0 else
- use the number of section.
- V2.0 CD Create Directory Creates a user-defined
- directory on any storage
- devices hooked to the system.
- V2.0 WP Write Project Saves all swapfiles in one file
- and remembers all the data such
- as marks, source pos,filenames
- & match patterns.. Use Read
- Source to get written project!
- V2.0 ZP ZAP Project Like zap source deletes all
- swapfiles (Swap source).
- V2.0 @ Execute Executes External Program..
- DirOpus,Dpaint and so on..
- V2.0 RC Read and Convert Reads & Convert |. to \.
-
- V2.0 Y [NR] USE TRANSFER LIBRARY [NR] FROM TRANSFER PREFS FILE
- the name of the file to
- change the transfer prefs
- is called
- "ENVARC:TRASH'M-ONE.Transfers"
- ---- =C [Name or #] Display Custom Regs Name example: =c blt?mod
-
- ---- ED Extern Disassembler..
- ---- EDS Set Extern Disassembler Start Addr.
-
- * ----- Modifycations to old Functions in Command Mode -------------------- *
-
- V2.0 AD [StartAddress] Sets The startaddress for
- Debugging to [StartAddress].
-
- *****************************************************************************
- * ----- New Functions in Editor ------------------------------------------- *
- *****************************************************************************
-
- V2.0 Tabulator is now definable. (Can only be defined at text top.)
- Example: For Normal Tabulator
-
- ;-------T-------T-------T-------T-------T-------T-------T-------T-------T
- »·······T-------T·······T-------T·······T-------T-------T-------T
- *-------T-------T T-------T-------T--- ---T-------T-------T-------T
-
- Example: For AbNormal Tabulator
-
- ;---------------T-------T-----------T-----------T
-
- Notice that the length is not the same. After the user defined TAB
- the normal TAB'S gets priority.
- And the start tab character can be three different types and only
- the tabstops "T" is the only character that can not be user defined.
- The Tabulator Routine Has Been Optimized a bit.
-
- V2.0 Free Memory indicator in Bottom of Screen..
- V2.0 Assemble Indicator in the Bottom of Screen..
- A = Just Asm
- a = have been started
- - = Source Been Modified
- V2.0 Block indicator in the Bottom of Screen..
- B = Grapping Block
- - = Block not active
- V2.0 Clip Buffer Full ind. in the Bottom of Screen..
- C = Clip Buffer Full
- - = Clip Buffer Empty
- V2.0 Numlock indicator in the Bottom of Screen can be changed by
- pressing numlock button on the key pad.
- N = Numlock On
- - = Numlock Off
- V2.0 F1-F10 Swap Source inplemented, now you can have 10
- sources in TRASH'M-One at the same time.
- this function uses the "t:" dir so if you
- wan't all the source in ram, then
- assign the t: dir to ram:
- V2.0 Source No. indicator for Swap Source.
- V2.0 Time Indicator 24 hour clock in Bottom of Screen, Useful to
- measure time.
- V2.0 Alt + Up 100 Lines Up Change From CTRL+A Scroll One Up.
- V2.0 Alt + Dwn 100 Lines Down Change From CTRL+Z Scroll One
- Down.
- V2.0 Ctrl + E/e Search & Exchange..
-
- V2.0 Alt+Shift+Up Scroll One Up (Smooth Scroll Now)
- V2.0 Alt+Shift+Dwn Scroll One Down
-
- V2.0 Ctrl+(1-9) Jump Mark 1-9
- V2.0 Ctrl+Shift+(1-9) Set Mark 1-9
-
- V2.0 Ctrl+v Insert Predefined tabulator line. works only
- on first position in source.
-
- V2.0 Ctrl+a Enter Ascii value
-
- V2.0 Alt+Backspace Delete Word Backwards..» To use with alt+left
- V2.0 Alt+Delete Delete Word Forward....» and alt+right
- Useful when you want to delete arguments from
- a dc.b list..
- TRY ON NEXT LINE to 2*alt+right & 1*alt+delete
- dc.l 000,100,200,300,400,500
- V2.0 Ctrl+; Comment Block
- V2.0 Ctrl+: UnComment Block
-
- *****************************************************************************
- * ----- New Functions in Monitor ------------------------------------------ *
- *****************************************************************************
-
- V2.0 Time, First & End Indicator + Size in the bottom of screen.
- V2.0 Ctrl + g Grab Adress
- V2.0 Ctrl + f Set First Address For BlockSave & Search
- V2.0 Ctrl + e Set End Address For BlockSave & Search
- V2.0 Ctrl + w Write Binary Block From "First" To "End"
- V2.0 Ctrl + (S|s) Search From "First" to "End"
- ---- Ctrl + t Set Base, then when you quickjump the base
- will be added to the address, but only if
- it's not a Bcc command.
- ---- Ctrl + T ReSet Base.
-
- *****************************************************************************
- * ----- New Functions in Debugger ----------------------------------------- *
- *****************************************************************************
-
- V2.0 Ctrl + e Extern (Loads Extern data files)
-
- V2.0 Bitmap in AddWatch has been added.
-
- *****************************************************************************
- * ----- BUG REPORT And Changes -------------------------------------------- *
- *****************************************************************************
-
- V2.0 ENDOFF implemented!
-
- V2.0 CNOP did only align to logic number like 1,2,4,8 and so. now it works!
-
- V2.0 BUG FIXED when using REPT in macros, Stack error!!!
- and when it repeated with times<1 it CRASHED now it just repeats it
- one time if you tries such an action.
-
- V2.0 Bug FIXED in Watch(Debugger), if a watch was a pointer and the watch
- address was an odd address, it CRASHED..
-
- V2.0 BUG FIXED in Debugger, Watches are kept as long no changes have been
- made in the source, but are erased if the addwatch command is in the
- source.
-
- V2.0 The TRASH'M-One Stack is now read from CLI or Workbench!
- Use Higher Stack if there is a problem with writing object, showing
- symbolstable or using offset label finder.
-
- *****************************************************************************
- * ----- Know Errors But Not Fixed ----------------------------------------- *
- *****************************************************************************
-
- In command line:
-
- WL write link Can only handle one section
- Error in linkfile when using more
- than one section...
-
- *****************************************************************************
- * ----- Last Message ------------------------------------------------------ *
- *****************************************************************************
-
- Note : I take no responsibity for any fault the program or your
- hardware creations make.
-
-
-
- Good Luck with Trash'm-One V2.0
-
- Deftronic of Crionics.
-